feat(ci): real E2E, Point-to-Point and Unit tests - #108
Conversation
Replaces the un-instantiated e2e.yml scaffold (jobs: present, every block commented out) with a workflow that runs echidnabot's actual test suites, mapped to the taxonomy in standards/testing-and-benchmarking/TESTING-TAXONOMY.adoc: smoke -> Part I §8 Smoke (8 tests) property_tests -> Part I §9 Property-based (12 tests) lifecycle -> Part I §7 Lifecycle (24 tests) integration_tests -> Part I §2 Point-to-Point (32 tests) seam_test -> Part I §3 End-to-End (15 tests) TWO measured facts drive the shape of this file. 1. echidnabot CANNOT BUILD STANDALONE. Cargo.toml declares a path dependency on gitbot-shared-context at ../../shared-context, which lives in hyperpolymath/gitbot-fleet. A fresh clone of echidnabot alone fails dependency resolution outright. So the workflow checks out gitbot-fleet and places echidnabot at bots/echidnabot -- the layout that resolves, and the one the fleet already uses to vendor this bot. A cargo-metadata step asserts the layout BEFORE building, so a broken layout fails loudly rather than as a confusing compile error thousands of lines later. 2. The --lib unit tests HANG -- no completion in 20 minutes, exit 124. Every integration binary passes in about two seconds (91 tests total). The suites are therefore named explicitly rather than invoking a bare cargo test, which would hang the runner. That exclusion is STATED, not hidden: the job writes the hang into the step summary on every run, so the debt stays visible instead of quietly vanishing behind a green tick. Verified: YAML parses, actionlint clean, and the pinned Swatinem/rust-cache SHA was checked to resolve against the API before use -- this estate has 80 fabricated SHAs in circulation and a shape-only linter cannot tell them apart. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
Note Automatic reviews are paused because your trial's included automatic processing has been used for this period. Upgrade now, or comment "Gitar review" to run a review anytime. Code Review ✅ Approved 1 resolved / 1 findingsReplaces the placeholder e2e workflow with a functional CI pipeline running the actual smoke, property, lifecycle, integration, and seam test suites. Consider explicitly pinning the Rust toolchain version to match the careful action SHA pinning.
✅ 1 resolved✅ Quality: Rust toolchain unpinned despite pinned action SHAs
OptionsDisplay: compact → Showing less information. Comment with these commands to change the behavior for this request:
Was this helpful? React with 👍 / 👎 | Gitar |
|
|
Resolve conflict by keeping e2e.yml from main (PR #108 added functional e2e.yml). Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
Replaces the un-instantiated
e2e.ymlscaffold (jobs:present, every block commented out) with a workflow that runs echidnabot's actual suites, mapped to the taxonomy:smokeproperty_testslifecycleintegration_testsseam_testTwo measured facts drive its shape.
1. echidnabot cannot build standalone.
Cargo.tomldeclares a path dependency ongitbot-shared-contextat../../shared-context, which lives ingitbot-fleet. A fresh clone fails resolution outright. So this checks out both repos and places echidnabot atbots/echidnabot— the layout that resolves, and the one the fleet already uses to vendor it. Acargo metadatastep asserts the layout before building, so a broken layout fails loudly rather than as a confusing compile error thousands of lines later.2. The
--libunit tests hang — >20 min, exit 124 — while every integration binary passes in ~2s. The suites are named explicitly rather than running a barecargo test, which would hang the runner. That exclusion is written into the step summary on every run, so the debt stays visible instead of disappearing behind a green tick.Verified: YAML parses, actionlint clean, and the pinned
Swatinem/rust-cacheSHA was checked against the API before use — this estate has 80 fabricated SHAs circulating and a shape-only linter cannot tell them apart.🤖 Generated with Claude Code